<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>姓名案例_计算属性实现</title>
  <script src="../js/vue.js"></script>
</head>

<body>
  <div id="root">
    姓：<input type="text" v-model="firstName"><br />
    名：<input type="text" v-model="lastName"><br />
    全名：<span>{{ fullName }}</span>
  </div>

  <script>
    Vue.config.productionTip = false

    const vm = new Vue({
      el: '#root',
      data: {
        firstName: '张',
        lastName: '三'
      },
      computed: {
        fullName: {
          // get作用？当有人读取fullName时，get就会被调用，且返回值就作为fullName的值
          // get什么时候调用？1.初次读取fullName时被调用。2.所依赖的数据发生变化时。
          get() {
            return this.firstName + '-' + this.lastName
          },
          set(value) {
            this.firstName = value.split('-')[0]
            this.lastName = value.split('-')[1]
          }
        }
      }
    })
  </script>
</body>

</html>